- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин
Шрифт:
Интервал:
Закладка:
Класс AudioClip имеет свойства balance, cycleCount, pan, priority, rate и volume, определяющие баланс воспроизведения, количество циклов воспроизведения, сдвиг к левому или правому каналу, приоритет аудиоклипа при проигрывании нескольких аудиоклипов одновременно, скорость и громкость воспроизведения.
Методы play и stop класса AudioClip обеспечивают запуск и остановку аудио проигрывателя.
Здесь мы создаем аудиоклип, который воспроизводится при щелчке мышки в окне JavaFX-приложения.
Визуальные эффекты
Визуальные эффекты платформы JavaFX представлены пакетом scene. effect.
При этом базовым классом всех эффектов пакета scene. effect служит абстрактный класс Effect, имеющий реализации в виде набора классов.
Эффект, представленный Effect-объектом, связывается с узлом графа сцены с помощью метода setEffect () класса Node и обеспечивает создание нового изображения Node-узла, полученного в результате модификации исходного графического изображения Node-узла.
Blend-эффект берет в качестве одного входа изображение узла Node, к которому эффект присоединен с помощью метода setEffect класса Node, и смешивает его с другим эффектом Effect, который выступает в качестве другого входа Blend-эффекта.
При этом режим смешивания определяется свойством mode класса Blend.
Второй вход Blend-эффекта, содержащий Effect-объект, может быть двух типов – это может быть нижний или верхний вход операции смешивания.
Effect-объект устанавливается в качестве нижнего входа с помощью метода setBottomInput класса Blend, или в качестве верхнего входа – с помощью метода setTopInput класса Blend.
Режим смешивания изображения узла Node с Effect-объект устанавливается методом setMode класса Blend, принимающего в качестве аргумента поле перечисления BlendMode.
Помимо свойств mode, bottomInput и topInput класс Blend имеет свойство opacity, определяющее прозрачность верхнего ввода перед смешиванием, значение которого устанавливается с помощью метода setOpacity класса Blend.
Приведенный здесь код демонстрирует создание кнопки Button, при прохождении курсора мышки через которую графическое содержимое кнопки Button смешивается с линейным градиентом с помощью Blend-эффекта.
В качестве нижнего входа Blend-эффекта используется эффект ColorInput, обеспечивающий в качестве входа для другого эффекта прямоугольник, заполненный определенным цветом.
Таким образом, здесь мы имеем кнопку и прямоугольник цвета.
Методом setBottomInput мы подкладываем прямоугольник под кнопку и режимом BlendMode.LIGHTEN выбираем светлые цвета двух входов для получения конечного цвета.
Bloom-эффект берет в качестве входа изображение узла Node, и засвечивает яркие участки графического содержимого узла Node, основываясь на значении свойства threshold.
Свойство threshold класса Bloom определяет порог яркости пикселей, после которого они будут светиться, и может принимать значение от 0.0 до 1.0 (по умолчанию 0.3).
Другое свойство input класса Bloom, значение которого устанавливается с помощью метода setInput, может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует создание кнопки Button, при прохождении курсора мышки через которую яркие участки графического содержимого кнопки Button засвечиваются, создавая иллюзию освещения ярким источником света.
Glow-эффект берет в качестве входа изображение узла Node, и засвечивает графическое содержимое узла Node, основываясь на значении свойства level.
Свойство level класса Glow определяет интенсивность свечения и может принимать значение от 0.0 до 1.0 (по умолчанию 0.3).
Другое свойство input класса Glow, значение которого устанавливается с помощью метода setInput, может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Действие Glow-эффекта похоже на действие Bloom-эффекта, отличаясь тем, что Glow-эффект засвечивает изображение более равномерно.
Приведенный здесь код демонстрирует кнопку Button, имеющую ореол свечения, создаваемый с помощью свечения прямоугольника, расположенного под кнопкой.
При этом интенсивность свечения изменяется со временем с использованием анимации.
Здесь мы в панели StackPane накладываем кнопку на прямоугольник.
Создаем эффект Glow, значение level которого изменяем со временем.
И присоединяем этот эффект к прямоугольнику.
DropShadow-эффект обеспечивает отображение внешней тени для узла Node.
Параметры тени DropShadow-эффекта определяются с помощью установки значений свойств класса DropShadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство spread – соотношение между исходным изображением тени и фильтром размытия тени от 0.0 (по умолчанию) до 1.0,
свойство color – цвет тени (по умолчанию Color. BLACK),
свойство offsetX – горизонтальный сдвиг тени в пикселях,
свойство offsetY – вертикальный сдвиг тени в пикселях.
Установка значения свойства radius эквивалентна приведению значений свойств width и height к значению (2 * radius +1).
Свойство input класса DropShadow может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует узел Text с тенью DropShadow и панелью слайдеров, с помощью которых можно изменять такие свойства тени как radius, spread, offsetX и offsetY.
Здесь мы создаем текст, к которому присоединяем эффект внешней тени.
Создаем слайдеры, свойство value которых связываем со свойствами эффекта.
Таким образом, меняя значение слайдера, мы автоматически меняем значение свойства эффекта.
Shadow-эффект создает из узла Node, к которому эффект присоединен с помощью метода setEffect класса Node, простую тень – монохромную копию изображения с размытыми краями.
Параметры тени Shadow-эффекта определяются с помощью установки значений свойств класса Shadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство color – цвет тени (по умолчанию Color. BLACK).
Установка значения свойства radius эквивалентна приведению значений свойств width и height к значению (2 * radius +1).
В отличие от тени DropShadow, здесь нет сдвига тени от узла, и нет двух изображений тени и самого узла, здесь есть только изображение тени.
Свойство input класса Shadow может определять в качестве входа другой эффект Effect, создавая, таким образом, цепочку эффектов.
Приведенный здесь код демонстрирует кнопку Button, имеющую ореол, создаваемый с помощью тени другой кнопки, расположенной под первой кнопкой.
При этом прозрачность тени изменяется со временем с использованием анимации.
Здесь у нас есть кнопка, которая накладывается на другую кнопку.
Из нижней кнопки мы делаем тень с помощью эффекта Shadow.
InnerShadow-эффект обеспечивает отображение внутренней тени для узла Node.
Параметры тени InnerShadow-эффекта определяются с помощью установки значений свойств класса InnerShadow.
Свойство radius определяет радиус фильтра размытия тени от 0.0 до 127.0 (по умолчанию 10.0),
свойство width – ширину фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство height – высоту фильтра размытия тени от 0.0 до 255.0 (по умолчанию 21.0),
свойство blurType – фильтр размытия тени (поле ONE_PASS_BOX, TWO_PASS_BOX, THREE_PASS_BOX (по умолчанию), GAUSSIAN перечисления BlurType),
свойство choke – соотношение между исходным изображением тени и фильтром размытия тени от 0.0 (по умолчанию) до 1.0,
свойство color – цвет тени (по умолчанию Color. BLACK),
свойство offsetX – горизонтальный сдвиг тени в пикселях,
свойство offsetY – вертикальный сдвиг тени в пикселях.
Установка значения свойства radius эквивалентна

